syrs.est=function(data,y,k,N,param){ data=as.name(data); y=y; N=N; k=k n=length(y); fpc=(1-n/N); param=as.name(param) if(param=='mean'){ est=mean(y); s2=var(y) vhat=(s2/n)*fpc bound=round(2*sqrt(vhat),2) lower=est-bound; upper=est+bound } else if(param=='total'){ est=N*mean(y); s2=var(y) vhat=N^2*(s2/n)*fpc bound=round(2*sqrt(vhat),2) lower=est-bound; upper=est+bound } else if(param=='proportion'){ est=round(mean(y),4); qhat=1-est s2=est*qhat/(n-1) vhat=fpc*s2 bound=round(2*sqrt(vhat),4) lower=est-bound; upper=est+bound} cat("","\n","Results from 1-in-",k,"SyRS: Data =",data,"\n","N =",N,"n =",n,"\n", "FPC =",fpc,"\n","Estimate of",param," =",est,"\n","Vhat =",vhat,"\n","Bound =", bound,"\n","Lower Bound =",lower,"Upper Bound =",upper,"\n","") results=list(est=est,data=data,n=n,N=N,fpc=fpc,vhat=vhat,param=param,bound=bound,lower=lower,upper=upper) } # to use the function with its call: # syrs.est(data,y,k,N,param) # data: name of dataset, in quotes # y: vector (data) # k: 1-in-k value # N: population size # param: c('mean','total','proportion')